草庐IT

database - 支持 Go 的 NoSQL 数据库列表

全部标签

ruby-on-rails - 获取 Rails 中相关模型的列表

假设我有一个对象Person,它有has_many:foos和:bars。给定一个实例p(p=Person.new),我如何以编程方式确定可用的关系?即p.some_method=>["foo","bar"] 最佳答案 您可以使用ActiveRecordReflections(APIhere)在你的例子中:p.class.reflect_on_all_associations(:has_many).collect{|a|a.name} 关于ruby-on-rails-获取Rails中相关

ruby - ActiveRecord 3.1.0 多数据库

我正在尝试将ActiveRecordgem升级到最新的3.1.0版本并看到出现了很多异常,我认为这是由于我们处理多个数据库的方式所致。对于我们的每个数据库,我们指定一个单独的基类,它继承自ActiveRecord::Base,并在其中调用establish_connection。没有跨数据库关系。到目前为止,这对我们来说效果很好。升级到ActiveRecord3.1.0后,我看到它在遍历关系时失败并出现ActiveRecord::ConnectionNotEstablished异常(即,它将成功地从数据库,但在导航到相关类时失败)。回溯的第一行是C:/Ruby/lib/ruby/gem

ruby-on-rails - 数据库锁在 Rails 和 Postgres 中无法正常工作

我在Rails模型中有以下代码:foo=Food.find(...)foo.with_lockdoifbar=foo.bars.find_by_stuff(stuff)#dosomethingwithbarelsebar=foo.bars.create!#dosomethingwithbarendend目标是确保正在创建的类型的Bar不会被创建两次。在控制台测试with_lock的效果证实了我的预期。然而,在生产中,似乎在某些或所有情况下锁都没有按预期工作,并且正在尝试冗余Bar——因此,with_lock不会(总是?)导致代码等待轮到它.这里会发生什么?更新对所有说“锁定foo不会帮

ruby-on-rails - 我如何序列化 - 反序列化哈希以将其保存在数据库中?

我有一个散列:h={"revision"=>7,"rev"=>"708a4bd5b","thumb_exists"=>false,"bytes"=>246000,"modified"=>"Sun,01Jul201217:09:15+0000","client_mtime"=>"Sun,01Jul201217:09:15+0000","path"=>"/GettingStarted.pdf","is_dir"=>false,"icon"=>"page_white_acrobat","root"=>"dropbox","mime_type"=>"application/pdf","size

ruby - 如何使用续集创建数据库

我已阅读所有sequel的文档,但我找不到创建数据库的方法,假设我可以做到这一点。我正在运行这样的rake任务:require'rubygems'require'bundler/setup'require'pg'require'sequel'require'yaml'require'erb'namespace:dbdotask:connectdoendtask:create=>:connectdoputsdb_configSequel.connect(db_config['production']){|db|db.create_table:userdoprimary_key:idStr

ruby-on-rails - 如何编写 Rake 任务将数据导入 Rails 应用程序?

目标:使用CRON任务(或其他预定事件)更新数据库,每晚从现有系统导出数据。所有数据都是在现有系统中创建/更新/删除的。该网站不直接与该系统集成,因此Rails应用程序只需要反射(reflect)数据导出中出现的更新。我有一个包含约5,000种产品的.txt文件,如下所示:"1234":"productname":"attr1":"attr2":"ABCManufacturing":"2222""A134":"anotherproduct":"attr1":"attr2":"FoobarWorld":"2447"...所有值都是用双引号(")括起来的字符串,用冒号(:)分隔字段是:id

ruby - 获取 Bundler 项目使用的 gem 列表

有没有办法获取Bundler(这是一个Rails3)项目为当前项目加载的gem列表或路径。我正在寻找类似的东西:Gem.path但这只会返回Gemfile中Bundler主动要求的那些。 最佳答案 我要找的是这个:Gem.loaded_specs.values.map{|g|g.full_gem_path} 关于ruby-获取Bundler项目使用的gem列表,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

ruby - 如何将 Readline 支持编译成 Ruby

我的ruby​​版本是用editline(在osx上)编译的,我错过了irb中readline的功能。如何使用readline支持重新编译ruby​​? 最佳答案 安装readline到/usr/local从头开始重新编译ruby​​并使用--with-readline-dir=/usr/local开关或者如果您之前已经下载了ruby​​源代码并手动构建了它,转到ruby​​源代码树的ext/readline文件夹键入rubyextconf.rb,然后为ruby​​运行make&&makeinstall过程。

ruby - 使用 sinatra 在 block 之间传递数据

我正在尝试使用sinatra在block之间传递数据。例如:@data=Hash.newpost"/"do@data[:test]=params.fetch("test").to_sredirect"/tmp"endget"/tmp"doputs@data[:test]end但是,每当我到达tmpblock时,@data为nil并抛出错误。这是为什么? 最佳答案 原因是因为浏览器实际上执行了两个单独的HTTP请求。Request:POST/Response:301->Location:/tmpRequest:GET/tmpRespo

Ruby:根据任意数字列表将数字舍入到最接近的数字

假设我有一个整数数组:arr=[0,5,7,8,11,16]我还有另一个整数:n=6我需要一个函数来向下舍入到数组中最接近的数字:foo(n)#=>5如您所见,数字没有固定的模式。执行此操作的优雅方法是什么?谢谢 最佳答案 使用select其次是max:arr=[0,5,7,8,11,16]putsarr.select{|item|item结果:5这在线性时间内运行,不需要对数组进行排序。 关于Ruby:根据任意数字列表将数字舍入到最接近的数字,我们在StackOverflow上找到一个